// 简单的日期格式化测试
// 注意：这是一个简化的测试，实际项目中应该使用 date-fns

function formatDate(date) {
  if (!date) return '无日期'
  
  // 对于只有日期的字符串（如 "2025-08-29"），创建本地时间的日期对象
  let dateObj
  if (typeof date === 'string') {
    // 检查是否是只有日期的格式 (YYYY-MM-DD)
    if (/^\d{4}-\d{2}-\d{2}$/.test(date)) {
      // 创建本地时间的日期对象，避免时区转换
      const [year, month, day] = date.split('-').map(Number)
      dateObj = new Date(year, month - 1, day)
    } else {
      dateObj = new Date(date)
    }
  } else {
    dateObj = date
  }
  
  if (!(dateObj instanceof Date) || isNaN(dateObj.getTime())) {
    return '无效日期'
  }
  
  const now = new Date()
  const today = new Date(now.getFullYear(), now.getMonth(), now.getDate())
  const tomorrow = new Date(today)
  tomorrow.setDate(tomorrow.getDate() + 1)
  
  const targetDate = new Date(dateObj.getFullYear(), dateObj.getMonth(), dateObj.getDate())
  
  if (targetDate.getTime() === today.getTime()) return '今天'
  if (targetDate.getTime() === tomorrow.getTime()) return '明天'
  
  return `${dateObj.getMonth() + 1}月${dateObj.getDate()}日`
}

console.log('🧪 测试日期格式化修复...')
console.log('')

const testCases = [
  '2025-08-29',           // 只有日期的字符串
  '2025-08-28',           // 今天（假设）
  '2025-08-30',           // 明天（假设）
  '2025-12-25',           // 未来日期
  '2025-08-29T15:30:00Z', // 完整的ISO日期时间
  null,                   // 空值
  undefined,              // 未定义
  'invalid-date'          // 无效日期
]

testCases.forEach((testCase, index) => {
  const result = formatDate(testCase)
  console.log(`${index + 1}. 输入: ${JSON.stringify(testCase)}`)
  console.log(`   输出: ${result}`)
  console.log('')
})

console.log('✅ 现在任务列表应该显示正确的日期格式，而不是时间！')
console.log('例如：')
console.log('- "2025-08-29" 应该显示为 "8月29日" 或 "明天"')
console.log('- 而不是显示 "08:00" 这样的时间')
